package com.lfy.kcat.user.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * @author leifengyang
 * @version 1.0
 * @date 2025/9/13 15:54
 * @description:
 */
@Configuration
public class SaInterceptorConfigure implements WebMvcConfigurer {

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
//        registry
//            .addInterceptor(new SaInterceptor(sa->{
//                //定义更详细的规则
//                // 登录校验 -- 拦截所有路由，并排除/user/doLogin 用于开放登录
//                SaRouter.match("/**", "/user/doLogin", r -> StpUtil.checkLogin());
//
//                // 角色校验 -- 拦截以 admin 开头的路由，必须具备 admin 角色或者 super-admin 角色才可以通过认证
//                SaRouter.match("/admin/**", r -> StpUtil.checkRoleOr("admin", "super-admin"));
//
//                // 权限校验 -- 不同模块校验不同权限
////                SaRouter.match("/user/**", r -> StpUtil.checkPermission("user"));
//                SaRouter.match("/admin/**", r -> StpUtil.checkPermission("admin"));
//                SaRouter.match("/goods/**", r -> StpUtil.checkPermission("goods"));
//                SaRouter.match("/orders/**", r -> StpUtil.checkPermission("orders"));
//                SaRouter.match("/notice/**", r -> StpUtil.checkPermission("notice"));
//                SaRouter.match("/comment/**", r -> StpUtil.checkPermission("comment"));
//
//                // 甚至你可以随意的写一个打印语句
//                SaRouter.match("/**", r -> System.out.println("----啦啦啦----"));
//
//                // 连缀写法
//                SaRouter.match("/**").check(r -> System.out.println("----啦啦啦----"));
//
//
//            }))
//            .addPathPatterns("/**");
    }
}
